﻿﻿using System.Xml;
﻿using StarTrek.Ship;
using StarTrek.World;

namespace StarTrek.Weapon
{
    public interface iWeapon
    {
        iShip Parent { get; set;}

        /// <summary>
        /// Calculates the damage formula, for the local weapon.
        /// </summary>
        /// <param name="Target">this is the target vessel</param>
        /// <param name="Energy">this is ammout of resources we want to apply to this action</param>
        /// <returns>null if no damage was done to target ship</returns>
        ShipStatus ApplyWeponToShip(iShip Target, float Energy);
        iShip ApplyDefenseToShip(float Enegery);
        string Name { get; }
        bool isFunctional { get; set; }
        bool isOffensive { get; }
        bool NeedsEnegery { get;} 
        string WeaponReport();
        void Load(XmlNode node);
    }
}
